欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

如何解leetcode Factorial Trailing Zeroes

問題描述:

?

Given an integer?n, return the number of trailing zeroes in?n!.

?

Example 1:

?

Input: 3
Output: 0
Explanation:?3! = 6, no trailing zero.

?

Example 2:

?

Input: 5
Output: 1
Explanation:?5! = 120, one trailing zero.

?

Note:?Your solution should be in logarithmic time complexity.

?

思路:

在n!中,若想在結果的結尾產生0,只能是5乘以雙數、或者某個乘數結尾為0,如10,但10可視為5*2,20可以視為5*4.

綜上要想找n!中有幾個0,其實就是尋求在1到n這n個數中有幾個5.

其中25=5*5,這需要視為2個5

代碼目的就變成了尋找1到n這n個數中5的個數

代碼:

?

 def trailingZeroes(self, n: int) -> int:
          if n <= 0: return 0
        
          return sum( (n//(5**j)) for j in range(1, int(math.log(n, 5)) + 1))

?

n//(5**j) ,當j=1時,就是尋找在1到n這n個數中有幾個5

n//(5**j) ,當j=2時,就是尋找在1到n這n個數中有幾個25(5*5)(在上一步計算中,25會被統計,一次,但由于25是5*5,內部含有兩個5,因而在第二步需要再統計一次,即一共是算為2次)

依次類推

最后將結果累計相加,就可以計算出就是尋找在1到n這n個數中有幾個5了

?

文章鏈接: http://www.qzkangyuan.com/24349.html

文章標題:如何解leetcode Factorial Trailing Zeroes

文章版權:夢飛科技所發布的內容,部分為原創文章,轉載請注明來源,網絡轉載文章如有侵權請聯系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程投稿分享

函數postgres(二)

2023-10-12 10:17:37

建站教程投稿分享

卸載mysql步驟

2023-10-12 10:23:41

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 库尔勒市| 永昌县| 仙游县| 广汉市| 博乐市| 繁昌县| 沂南县| 宜君县| 吴江市| 梨树县| 离岛区| 郯城县| 永昌县| 通化市| 罗甸县| 张家港市| 汶川县| 通河县| 同心县| 曲阳县| 太康县| 八宿县| 七台河市| 洞口县| 茌平县| 梧州市| 高密市| 夏邑县| 石城县| 驻马店市| 昭通市| 合水县| 巴青县| 琼海市| 浠水县| 柳河县| 潞城市| 民和| 洛隆县| 吉安市| 乌鲁木齐市|